<?php session_start();
    include_once ("../bussiness/TicketBR.php");
    include_once ("generales.php"); 
    if (file_exists("../entity/Constantes.php")){
        include_once ("../entity/Constantes.php");
    }
    if (file_exists("../entity/Ticket.php")){
        include_once ("../entity/Ticket.php");
    }
    
    if(isset($_POST["opc"])){
        
        $codigo = $_POST["codigo"];
        $actividad = $_POST["actividad"];
        $cum = $_POST["cum"];
        $fecha = $_POST["fecha_creacion"];
        $area = $_POST["area"];
        
        $fecha_desde = date_to_stamp($_POST["fecha_desde"]);
        $fecha_hasta = date_to_stamp($_POST["fecha_hasta"]);
        
        $usuario_crea = $_SESSION[Constantes::K_SESSION_CODIGO_USUARIO];
        $usuario_modi = $_SESSION[Constantes::K_SESSION_CODIGO_USUARIO];
        
        if($_POST["opc"]=="cod"){
            echo generarCodigo();
        }elseif($_POST["opc"]=="ins"){
            echo insertar($codigo,$actividad,$cum,$area,$usuario_crea);
        }elseif($_POST["opc"]=="get"){
            echo buscarTicket($codigo);
        }elseif($_POST["opc"]=="act"){
            echo actualizarTicket($codigo,$cum,$usuario_modi);
        }elseif($_POST["opc"]=="val"){
            echo validarTicket($codigo);
        }elseif($_POST["opc"]=="bus"){
            $page = $_POST['page'];
            $limit = $_POST['rows'];
            $sidx = $_POST['sidx'];
            $sord = $_POST['sord'];
            
            if (!$sidx){
                $sidx = 1;
            }
            echo mostrarTicketGrilla($codigo,$fecha_desde,$fecha_hasta, $page, $limit, $sidx, $sord);
        }
    }
    
    function validarTicket($codigo){
        $val = new TicketBR();
        $result = $val->validarTicket($codigo);
        return $result;
    }
    
    function mostrarTicketGrilla($codigo,$fecha_desde,$fecha_hasta, $page, $limit, $sidx, $sord){
        $bus = new TicketBR();
        $entity = new Ticket();
        $entity->CODIGO = $codigo;
        $entity->FECHADESDE = $fecha_desde;
        $entity->FECHAHASTA = $fecha_hasta;
        
        $count = $bus->numeroRegistro($codigo, $fecha_desde,$fecha_hasta);
        
        if ($count > 0) {
            $total_pages = ceil($count / $limit);
        } else {
            $total_pages = 0;
        }
        if ($page > $total_pages){
            $page = $total_pages;
        }
        $start = $limit * $page - $limit;
        $responce->page = $page;
        $responce->total = $total_pages;
        $responce->records = $count;
        $i = 0;
        
        $ticket = $bus->BuscarSearch($entity, $start, $limit, $sidx, $sord);
        
        if(sizeof($ticket)){
            foreach ($ticket as $fila){
                $responce->rows[$i]['id'] = $fila->CODIGO;
                $responce->rows[$i]['cell'] = array($fila->CODIGO,$fila->ITEM,$fila->ID_TICKET, $fila->ID_MULTA,$fila->ACTIVIDAD,$fila->AREA,$fila->ESTADO,$fila->AUDFECCREACION,$fila->USUCREACION,$fila->AUDFECMODIFICACION,$fila->USUMODIFICACION,$fila->INICIO,$fila->FIN);
                $i++;
            }
        }
        return json_encode($responce);
    };
    function actualizarTicket($codigo,$cum,$usuario_modi){
        $act = new TicketBR();
        $entity = new Ticket();
        $entity->ID_TICKET = $codigo;
        $entity->ID_MULTA = $cum;
        $entity->AUDUSUMODIFICACION = $usuario_modi;
        
        $result = $act->actualizarTicket($entity);
        
        if($result == 1){
//            $msj = $_SESSION[ConstantesMesajes::K_SESSION_MENSAJE_TICKET_OK];
            $_SESSION[ConstantesTablas::K_SESSION_NUMERO_TICKET]='';
            $msj = "El ticket se finalizo correctamente";
        }else{
//            $msj = $_SESSION[ConstantesMesajes::K_SESSION_MENSAJE_TICKET_NOOK];
            $msj = "Error al finalizar el cierre del Ticket";
        }
        return $msj;
    }
    
    function buscarTicket($codigo){
        $get = new TicketBR();
        $ID_TICKET = $codigo;
        if($codigo == ''){
            $ID_TICKET = $_SESSION[ConstantesTablas::K_SESSION_NUMERO_TICKET];
        }
        
        $result = $get->buscarTicket($ID_TICKET);
        
        return json_encode($result);
        //return $ID_TICKET;
    }
    
    function insertar($codigo,$actividad,$cum,$area,$usuario_crea){
        $ins = new TicketBR();
        $entity = new Ticket();
        $entity->ID_TICKET = $codigo;
        $entity->ACTIVIDAD = $actividad;
        $entity->ID_MULTA = $cum;
        $entity->AREA = $area;
        $entity->AUDUSUCREACION = $usuario_crea;
        
        $_SESSION[ConstantesTablas::K_SESSION_NUMERO_TICKET] = $codigo;
        
        $result = $ins->insertar($entity);

        return $result;
    }
    
    function generarCodigo(){
        $cod = new TicketBR();
        
        $result = $cod->generarCodigo();
        
        return $result;
    }
?>
